package com.yixin.hospital.entity.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * 导诊表
 * @TableName guidance
 */
@TableName(value ="guidance")
@Data
public class Guidance implements Serializable {
    /**
     * id
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 导诊号
     */
    private String guidanceCode;

    /**
     * 患者id
     */
    private Long patientId;

    /**
     * 地址id
     */
    private Long address;

    /**
     * 就诊类型（1-店面 2-邮寄 3-代取 4-代放）
     */
    private Integer type;

    /**
     * 部门id
     */
    private Long deptId;

    /**
     * 就诊医生id
     */
    private Long doctorId;

    /**
     * 科室id
     */
    private Long jobOfficeId;

    /**
     * 就诊地点id
     */
    private Long workAddressId;

    /**
     * 候诊时间
     */
    private Integer waitTime;

    /**
     * 挂号费
     */
    private BigDecimal registerPrice;

    /**
     * 送检人id
     */
    private Long submitUserId;

    /**
     * 模板id
     */
    private Long templateId;

    /**
     * 是否已采集
     */
    private Integer isDetail;

    /**
     * 详情
     */
    private Object detail;

    /**
     * 状态（0-候诊中 1-就诊中 2-实验室检查中 3-缴费中 4-取药中 5-检查/取药 6-完成 7-中止 ）
     */
    private Integer status;

    /**
     * 备注
     */
    private String remark;

    /**
     * 创建人
     */
    private String createdBy;

    /**
     * 导诊时间
     */
    private LocalDateTime guidanceTime;

    /**
     * 就诊时间
     */
    private LocalDateTime visitTime;

    /**
     * 最早支付的检查时间
     */
    private LocalDateTime inspectionTime;

    /**
     * 缴费时间
     */
    private LocalDateTime payTime;

    /**
     * 取药时间
     */
    private LocalDateTime drugTime;

    /**
     * 邮寄结束时间
     */
    private LocalDateTime postEndTime;

    /**
     * 提醒时间
     */
    private LocalDateTime warnTime;

    /**
     * 代放时间
     */
    private LocalDateTime subTakeTime;

    /**
     * 代取时间
     */
    private LocalDateTime subReleaseTime;

    /**
     * 创建时间
     */
    private LocalDateTime createdTime;

    /**
     * 更新人
     */
    private String updatedBy;

    /**
     * 更新时间
     */
    private Date updatedTime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;


//    private Long waitingCount;
//    private Long doingCount;
}